Micron Document




Mocha (JavaScript framework)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Mocha is a JavaScript test framework for Node.js programs, featuring browser support, asynchronous testing, test coverage reports, and use of any assertion library.cite-ref-2[2]

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Assertion libraries

Mocha can be used with most JavaScript assertion libraries, including:

• should.js
• express.js
• chai
• better-assert
• unexpected

Usage and examples

$ npm install -g mocha
$ mkdir test
$ $EDITOR test/test.js # or open with your favorite editor

var assert = require("assert")
describe('Foo', function(){
describe('#getBar(value)', function() {
it('should return 100 when value is negative') // placeholder
it('should return 0 when value is positive', function() {
assert.equal(0, Foo.getBar(10));
})
})
})

$ mocha
.
1 test complete (1ms)

For asynchronous testing, invoke the callback, and Mocha will wait for completion.

describe('Foo', function(){
describe('#bar()', function() {
it('should work without error', function(done) {
var foo = new Foo(128);
foo.bar(done);
})
})
})

See also
References

cite-note-wikidata-d38cc5282b7b4e71655960dbdc72ef637d678e7b-v20-11. "Release 11.7.1". 24 June 2025. Retrieved 24 June 2025.
cite-note-22. "Mocha - the fun, simple, flexible JavaScript test framework". mochajs.org.

External links

• Official website
• mocha on GitHub